草庐IT

PHP curl : CURLOPT_CONNECTTIMEOUT vs CURLOPT_TIMEOUT

全部标签

php - CURLOPT_FILE、curl_multi_exec 和 fclose

我构建了一个curl类,可以使用curl_multi_init并行下载图像。下载功能如下publicfunctiondownload(AbstractRequest$request,$f){//Initiateanewcurl$ch=curl_init();//Setcurloptionscurl_setopt_array($ch,[CURLOPT_URL=>$request->getUrl(),CURLOPT_FILE=>$f,CURLOPT_TIMEOUT=>99,]);//Addtocurlmultihandlecurl_multi_add_handle($this->multi

PHP curl : CURLOPT_URL, CURLOPT_POST 和 CURLOPT_POSTFIELDS

如果我有一个如下所示的URL:$url='http://domain.com/?foo=bar';然后执行curl如下:$resource=curl_init();curl_setopt($resource,CURLOPT_URL,$url);curl_setopt($resource,CURLOPT_RETURNTRANSFER,1);$result=curl_exec($resource);curl_close($resource);我了解我通过GET(默认)发出此请求。现在,如果我在同一场景中设置以下选项:curl_setopt($resource,CURLOPT_POST,1)

php - 取消设置 curl CURLOPT_POSTFIELDS

我有一个PHP类,用于将一些数据发布到服务器,并使用相同的打开连接获取一些数据。问题是这段代码将尝试在第一个请求中POST数据,在第二个请求中......curl_setopt(self::$ecurl,CURLOPT_CUSTOMREQUEST,"PUT");curl_setopt(self::$ecurl,CURLOPT_POSTFIELDS,$data);$request=curl_exec(self::$ecurl);curl_setopt(self::$ecurl,CURLOPT_CUSTOMREQUEST,"GET");$request=curl_exec(self::$e

php - cURL:CURLOPT_CAPATH 包含正确的证书但不起作用

以下脚本适用于PHP5.6.23:$options=[CURLOPT_POST=>1,CURLOPT_URL=>'https://uat.dwolla.com/oauth/rest/offsitegateway/checkouts',CURLOPT_RETURNTRANSFER=>1,CURLOPT_POSTFIELDS=>json_encode(['name'=>'value']),CURLOPT_HTTPHEADER=>['Content-Type:application/json'],CURLOPT_SSL_VERIFYPEER=>true,CURLOPT_CAINFO=>'/p

php - 单元测试 : Simulate a timeout with Guzzle 5

我正在使用Guzzle5.3并想测试我的客户端是否抛出TimeOutException。那么,我如何模拟GuzzleClient并抛出GuzzleHttp\Exception\ConnectException?要测试的代码。publicfunctionrequest($namedRoute,$data=[]){try{/**@noinspectionPhpVoidFunctionResultUsedInspection*//**@var\GuzzleHttp\Message\ResponseInterface$response*/$response=$this->httpClient-

php - 使用 cURL 的 CURLOPT_COOKIEFILE 选项处理多个请求

我正在使用CURLOPT_COOKIEJAR将cookie存储到文件中,并使用CURLOPT_COOKIEFILE从文件中检索它们。我想知道的是当多个用户同时访问脚本时会发生什么——它不会弄乱cookie文件的内容吗?另外,如何管理cookie文件,以便可以同时拥有多个用户? 最佳答案 CURLOPT_COOKIEJAR和CURLOPT_COOKIEFILE只是用于处理文件中cookie的实用程序,例如网络浏览器。并且不建议您使用它。但您可以直接使用httpheader来设置和检索cookie。为您设置cookie要检索cookie

php - 帮助我理解 CURLOPT_READFUNCTION

我想正确理解CURLOPT_READFUNCTION。我正在查看Rackspacecoudfilesphp代码(RESTAPI)。它有下面一行。curl_setopt($ch,CURLOPT_READFUNCTION,array(&$this,'_read_cb'));查看此函数的定义:privatefunction_read_cb($ch,$fd,$length){$data=fread($fd,$length);$len=strlen($data);if(isset($this->_user_write_progress_callback_func)){call_user_func

php - CURLOPT_FOLLOWLOCATION 无法激活

我在卷发方面遇到了一些问题,但我不知道如何解决。想法是获取用户的用户名和密码并将其发布到外部网页。代码如下:$ch=curl_init();curl_setopt($ch,CURLOPT_URL,"https://sso.uc.cl/cas/login?service=https://portaluc.puc.cl/uPortal/Login");//URLtopostcurl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,"username=$usuario&password=$pw");curl_seto

php - 恐惧超时与 'mod_fcgid: read timeout from pipe'

我的应用程序尝试访问超时的URL有问题。我正在trycatch此超时并使用以下代码解决此问题:$timeout=120;if(false==$handle=@fsockopen($host,$port,$errno,$errstr,$timeout)){thrownewException("Couldnotconnecttourl:".$errstr);}$getRequest="GET{$url}HTTP/1.0\r\n";$getRequest.="Host:{$urlParts['host']}\r\n";$getRequest.="Connection:close\r\n\r\

CURL 错误(无法激活 CURLOPT_FOLLOWLOCATION)

Warning:curl_setopt()[function.curl-setopt]:CURLOPT_FOLLOWLOCATIONcannotbeactivatedwheninsafe_modeoranopen_basedirissetin/home/path/curl.phponline594我无权访问php.ini。可以在不编辑php.ini的情况下解决这个问题吗? 最佳答案 参见thiscomment在手册中。它提供了一个丑陋的解决方法。我认为此限制是有效的,因为curl库中存在错误,它会跟随重定向到本地资源,但现在应该已修